Skip to content

feat(settings): show Voxtype runtime controls - #49

Open
quanru wants to merge 15 commits into
feat/voxtype-batch-integrationfrom
feat/voxtype-controls
Open

quanru wants to merge 15 commits into
feat/voxtype-batch-integrationfrom
feat/voxtype-controls

Conversation

@quanru

@quanru quanru commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • read Voxtype extended status and versioned config-schema JSON
  • show CLI/daemon version, state, engine, model, audio device, compute backend, schema version, and config path in Settings
  • launch Voxtype's own configure TUI in an available terminal instead of rewriting its configuration
  • keep errors visible inside Settings and cover JSON/terminal selection with deterministic tests

Dependency

Depends on #48.

Validation

  • PYTHONPATH=src /Users/bytedance/personal/doubao-say/.venv/bin/python -m unittest tests.unit.test_voxtype_control tests.unit.test_voxtype_runtime tests.unit.test_voxtype_asr_client tests.unit.test_recognition_providers
  • /Users/bytedance/personal/doubao-say/.venv/bin/python -m ruff check src tests packaging
  • PYTHONPATH=src /Users/bytedance/personal/doubao-say/.venv/bin/python -m compileall -q src tests
  • audited Voxtype v1.0.1 status --extended --format json and config schema --json source contracts
  • git diff --check

Validation gaps

  • Voxtype 1.0.1 daemon was tested on Linux through a virtual PipeWire microphone; terminal configurator was not exercised
  • no Linux GTK screenshot was captured; the UI still needs visual acceptance
  • this PR intentionally delegates edits to voxtype configure; it does not embed a second configuration editor

Review order

Review after #48. This is the final PR in the recognition-provider stack.

Review fix (2026-09-25)

  • Read Voxtype status on a worker thread and deliver results through GLib.idle_add, keeping GTK responsive while CLI commands run.
  • Ignore stale status responses after the selected provider changes or a newer refresh starts. CLI timeout errors remain visible in Settings.
  • Reproduced a two-second Settings freeze with a deterministic regression test before the fix; the same test passes afterward.
  • Merged the feat(asr): integrate Voxtype local dictation #48 lifecycle fix into this branch so the PR diff still shows only the controls increment relative to its current base.

Validation on Linux: make PYTHON=/home/leyang/doubao-say/.venv/bin/python check and make PYTHON=/home/leyang/doubao-say/.venv/bin/python coverage passed (61% overall coverage). Voxtype 1.0.1 was subsequently tested with a virtual PipeWire microphone. A GTK screenshot and physical microphone acceptance were not captured.

Live Linux benchmark (2026-09-25)

  • Merged the real-daemon command-runner fix from feat(asr): integrate Voxtype local dictation #48 (0631ad1); make check passes on this branch.
  • With Voxtype 1.0.1, sensevoice-small ONNX CPU, and an isolated PipeWire source, release-to-app-result took 0.258–0.360 s across three full TranscriptionManager runs after capture became ready.
  • feat(asr): integrate Voxtype local dictation #48 now documents the virtual-device cold-start diagnosis and waits for the daemon recording state before the app reports recording; this controls branch includes that fix.

Audio startup follow-up (2026-09-25)

  • Merged feat(asr): integrate Voxtype local dictation #48 commit c866b8f so the app no longer reports recording as soon as Voxtype merely acknowledges the CLI signal. make check passes on this branch.
  • The 3.2 s first-open measurement was specific to a newly created virtual PipeWire ALSA device. Three starts on the machine's default physical microphone reached the capture thread in about 25–35 ms. See feat(asr): integrate Voxtype local dictation #48 for the logs and live manager retest.

@quanru

quanru commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

Midscene CI 验证:Voxtype 设置页单用例在 Ubuntu 1/1 首次通过、7/7 步骤通过:https://github.com/quanru/doubao-say/actions/runs/35817545852 ;真实 Omarchy VM 1/1 通过(首次尝试最后一条视觉断言未通过,第二次完整通过):https://github.com/quanru/doubao-say/actions/runs/35818162194 。覆盖 CLI/daemon 版本与状态、引擎/模型/设备/后端/schema 展示、隐藏 API Key、刷新按钮和打开配置按钮的 UI 反馈。CI 使用假 CLI;配置按钮的终端启动副作用和真实 Voxtype 环境不属于本次 Midscene 覆盖。最后一次合并只同步 #48 的 runner 路由,合并前后文件树无差异。

@midscene-visual-review

midscene-visual-review Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Midscene visual review: conclusion withdrawn ⚠️

Reviewed commit: 7faaac9

A repository admin withdrew the previous green result: The visual scenario was marked passed while the captured desktop still showed the unauthenticated Sign in page. It did not exercise the Voxtype settings or background status behavior.

Open the HTML report · GitHub Actions run

This run must not be treated as PR approval.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant